home *** CD-ROM | disk | FTP | other *** search
- Kurzinformationen zu TOS2GEM vom 21.06.1995, Stand: 21.06.1995
- --------------------------------------------------------------
-
- (An English version of this text will be available soon!)
-
-
- 1. Was ist TOS2GEM?
- -------------------
-
- TOS2GEM ist ein Programm für den AUTO-Ordner, das es GEM-Applikationen
- auf flexible Weise ermöglicht, die Ausgaben von .TOS bzw. .TTP-
- Programmen in ein Fenster umzulenken, was durch Benutzung von VDI-
- Textbefehlen erreicht wird. Somit können Programmierer von Shells oder
- alternativen Desktops ohne großen Aufwand eine Art Console-Fenster
- einrichten.
-
- Dadurch ergibt sich natürlich, daß TOS2GEM hauptsächlich für den
- Einsatz unter SingleTOS gedacht ist. Allerdings läuft es auch unter
- Geneva, MagiC und MultiTOS, wobei hier natürlich der Nutzen sehr
- eingeschränkt ist, da die TOS-Programme unter diesen Systemen sowieso
- in Fenstern laufen (wenn sie richtig gestartet werden).
-
- Die wichtigsten Eigenschaften von TOS2GEM auf einen Blick:
- - bietet saubere Möglichkeit für Programmierer, Ausgaben von
- nachgestarteten TOS-Programmen in ein GEM-Fenster zu lenken
- - simuliert TOS-Bildschirme beliebiger Größe (also nicht nur
- langweilige 80x25), die auch nur teilweise sichtbar sein dürfen
- - arbeitet mit allen nicht-proportionalen Zeichensätzen in beliebiger
- Größe zusammen
- - mit (optionaler) Ausgabepufferung teilweise schnellere Ausgabe als
- mit GEMDOS/BIOS (nur für SingleTOS/MagiC)
- - bietet auf Wunsch einen Puffer für ältere Ausgaben ("Scrollback")
- - hat vollständige VT52-Emulation (Farbsequenzen nur optional)
-
-
- 2. Wie wird's installiert?
- --------------------------
-
- TOS2GEM.PRG wird einfach in den AUTO-Ordner der Bootpartition kopiert
- und richtet dann bei jedem Booten einen Cookie ein, über den
- Programmierer die Benutzung von TOS2GEM steuern können. Bei Bedarf kann
- TOS2GEM.PRG aber auch vom Desktop gestartet werden.
-
-
- 3. Was ist T2GRESET.PRG?
- -------------------------
-
- Programme müssen TOS2GEM für sich reservieren; bis zur Freigabe können
- andere Programme die Dienste von TOS2GEM nicht in Anspruch nehmen.
- Sollte nun ein Programm, das TOS2GEM für sich reserviert hatte,
- abstürzen oder am Ende die Freigabe vergessen, kann durch Aufruf von
- T2GRESET diese Blockade aufgehoben werden. Es ist nicht sehr ratsam,
- T2GRESET aufzurufen, wenn die Applikation, die TOS2GEM reserviert hat,
- noch läuft, da es dann zwangsläufig zu schweren Komplikationen kommt.
- Kennzeichen für eine vorliegende Blockade ist, wenn kein Programm
- läuft, das TOS2GEM benutzt und ein neu gestartetes meldet, es könne die
- Reservierung nicht vornehmen.
-
-
- 4. Was sind T2G_BSP.PRG und PRIMZAHL.TOS?
- -----------------------------------------
-
- Da sich anhand der theoretischen Beschreibung der Funktionsweise von
- TOS2GEM wohl niemand genau ein Bild davon machen kann, was TOS2GEM
- eigentlich macht, habe ich ein kleines Beispielprogramm geschrieben
- (eben T2G_BSP.PRG oder ausgeschrieben TOS2GEM-Beispiel). Die beiden
- Dateien sind im kleinen Archiv (siehe Punkt 8) übrigens nicht enthalten!
-
- Nach dem Start des Programms (TOS2GEM muß natürlich vorher gestartet
- worden sein) erscheint eine Dialogbox, in der man die Ausmaße des von
- TOS2GEM zu simulierenden TOS-Bildschirms angibt und wieviel davon
- maximal sichtbar sein soll. Außerdem kann hier gewählt werden, ob und
- wie die Ausgabepufferung und die Farbunterstützung von TOS2GEM benutzt
- werden sollen. Im Anschluß wird ein entsprechendes Fenster geöffnet, in
- das (bereits per TOS2GEM-Umlenkung) die realisierten Ausmaße
- geschrieben werden. Direkt danach wird das Programm PRIMZAHL.TOS (das
- sich daher im gleichen Verzeichnis befinden muß) gestartet, das eine
- simple Primzahlberechnung mit dem "Sieb des Eratosthenes" realisiert
- (man kann auch jedes andere TOS-Programm nehmen, es muß nur als
- PRIMZAHL.TOS im richtigen Verzeichnis stehen). Nach Ende des
- Primzahlprogramms kann man das Fenster, in das die Ausgaben ja sauber
- umgelenkt wurden, nach Lust und Laune auf dem Bildschirm plazieren. Ein
- Druck auf den Closer beendet das Programm, nach einem Klick in den
- Arbeitsbereich des Fensters erscheint eine Alertbox mit drei
- Wahlmöglichkeiten: "Resize" erlaubt eine Änderung der TOS2GEM-
- Bildschirmgröße (mit dem gleichen Dialog wie zu Beginn; dabei wird der
- Bildschirm gelöscht, wenn seine Gesamtgröße verändert wird). Mit
- "Rerun" kann nochmal PRIMZAHL.TOS gestartet werden und "Nichts" macht
- genau dies...
-
- Das Beispielprogramm ist bewußt einfach gehalten, u.a. damit man sieht,
- daß eine TOS2GEM-Unterstützung relativ einfach möglich ist. Es werden
- nicht alle Möglichkeiten von TOS2GEM demonstriert (insbesondere werden
- weder verschiedene Zeichensätze in unterschiedlichen Größen benutzt
- noch ein "Scrollback" geboten), allerdings sollte es trotzdem gut
- verdeutlichen, welche Möglichkeiten TOS2GEM bietet. Wer den Quellcode
- haben möchte, um sich mal ein konkretes Bild von der TOS2GEM-
- Unterstützung machen zu können, soll sich bitte melden (siehe unten).
- Da der Source inzwischen ausführlich kommentiert wurde und einige
- Libraryfunktionen direkt eingebunden wurden, damit er eigenständig
- compiliert werden kann, ist seine Größe inzwischen auf stattliche 40
- Kilobyte angewachsen. Allerdings ist dabei der Anteil dessen, was nur
- für die TOS2GEM-Unterstützung nötig ist, relativ gering (die Kommentare
- nicht mitgerechnet), also nicht erschrecken...
-
-
- 5. Die Doku für Programmierer
- -----------------------------
-
- Ich habe mich entschlossen, den Hypertext mit Informationen (nicht nur)
- für Programmierer in seiner immer noch unvollständigen Fassung
- freizugeben, da er inzwischen halbwegs brauchbar sein dürfte. Zum
- Anschauen benötigt man den ST-Guide von Holger Weets, dem ich an dieser
- Stelle nochmal ganz herzlich für diese großartige Tool danken möchte.
-
- Zusätzlich zur Hypertext-Doku kann auch ein Blick in die ST-Computer 04/
- 95 und 05/95 sicher hilfreich sein.
-
- Darüberhinaus sei jedem angeraten, sich einmal die TOS2GEM-Library von
- Dirk Klemmt (klemmt@informatik.uni-frankfurt.de) für Pure und Gnu C
- anzusehen, da sie die Benutzung von TOS2GEM zum Kinderspiel macht.
- Einen kurzen Überblick über ihre Fähigkeiten kann man in der ST-
- Computer 05/95 erhalten. Wer mehr wissen will, wendet sich bitte direkt
- an Dirk, da ich mit der Library selbst wenig bis nichts zu tun habe.
-
-
- 6. INSPECT.TTP
- --------------
-
- Dieses kleine Progrämmchen dient als Hilfe für Programmierer, die
- Applikationen mit TOS2GEM-Unterstützung schreiben wollen. Näheres dazu
- findet sich im Hypertext.
-
-
- 7. Rechtliches
- --------------
-
- TOS2GEM wurde mit großer Sorgfalt programmiert und eingehend getestet.
- Es ist jedoch nicht auszuschließen, daß es noch Fehler enthält. Ich
- kann daher weder für die einwandfreie Funktionsfähigkeit von TOS2GEM,
- noch für dessen Tauglichkeit für einen bestimmten Zweck garantieren.
-
- Desweiteren erfolgt die Benutzung von TOS2GEM auf eigene Gefahr! Ich
- übernehme keinerlei Haftung für Schäden, die direkt oder indirekt aus
- der sach- oder unsachgemäßen Anwendung von TOS2GEM resultieren.
-
- Gleiches gilt selbstverständlich auch für die anderen im Archiv
- enthaltenen Programme.
-
-
- 8. Zum Kopieren von TOS2GEM
- ---------------------------
-
- TOS2GEM ist frei kopier- und benutzbar. Allerdings darf die Weitergabe
- nur in folgenden zwei Varianten erfolgen, wobei jeweils alle
- angegebenen Dateien unverändert kopiert werden müssen (Archivierung ist
- erlaubt):
-
- a) Komplettpaket
- Enthält TOS2GEM.PRG, T2GRESET.PRG, TOS2GEM.H, TOS2GEM.TXT, T2G_BSP.PRG,
- PRIMZAHL.TOS, INSPECT.TTP sowie TOS2GEM.HYP und TOS2GEM.REF. Dieses
- Paket ist hauptsächlich für die alleinige Weitergabe von TOS2GEM
- gedacht (wenn es also nicht einem anderen Programm beigelegt ist).
-
- b) Minipaket
- Enthält nur TOS2GEM.PRG, T2GRESET.PRG und TOS2GEM.TXT. Diese Variante
- sollte nur dann gewählt werden, wenn man TOS2GEM als Zugabe zu einem
- Programm benutzen will, das es benötigt.
-
- Wer eigene Programme entwickelt hat, die TOS2GEM benötigen bzw.
- unterstützen, darf TOS2GEM seinem Programmpaket beilegen (in einer der
- beiden o.g. Formen), wenn er folgendes beachtet:
-
- - TOS2GEM muß in einen eigenen Ordner kopiert werden
- - In der Dokumentation oder im Programm muß ein Hinweis auf die
- Benutzung von TOS2GEM erfolgen
- - In der Dokumentation muß deutlich erkennbar sein, daß es sich bei
- TOS2GEM um ein eigenständiges, von mir entwickeltes Utility handelt,
- das nicht zum eigentlichen Programm gehört.
-
- Außerdem wäre ich für die Zusendung eines Exemplars des Programms sehr
- dankbar.
-
-
- 9. Kontakt mit dem Autor
- ------------------------
-
- Wer Fehler gefunden hat, den Beispiel-Source möchte, Hilfe bei der
- Programmierung von TOS2GEM-Applikationen benötigt, Lob, Kritik und/oder
- Vorschläge loswerden oder einfach nur mit mir "reden" möchte, kann sich
- an folgende Adressen wenden:
-
- Thomas Binder
- Johann-Valentin-May-Straße 7
- 64665 Alsbach-Hähnlein
- Deutschland
-
- InterNet: binder@rbg.informatik.th-darmstadt.de
- IRC: Gryf
-
- Wer den ausführlich kommentierten Sourcecode zum TOS2GEM-Beispiel haben
- will, sollte mir entweder einen adressierten und frankierten
- Rückumschlag samt Diskette zusenden, oder in der Lage sein, Binaries
- per EMail zu empfangen.
-
- Da TOS2GEM einen nicht unerheblich Teil meiner Freizeit beansprucht hat
- und wohl auch weiter beanspruchen wird, bitte ich um Spenden, die mir
- meine Arbeit honorieren und so gleichzeitig die Weiterentwicklung von
- TOS2GEM sichern (dies richtet sich insbesondere, aber nicht
- ausschließlich, an diejenigen, die TOS2GEM in eigenen Programmen
- unterstützen wollen).
-
- Meine Bankverbindung lautet:
- Dresdner Bank AG Frankfurt am Main
- Konto-Nummer: 9 024 050 00
- Bankleitzahl: 500 800 00
-
- Vielen Dank!
-
-
- 10. Welche Programme unterstützen TOS2GEM?
- ------------------------------------------
-
- Bislang gibt es drei Programme, die per TOS2GEM die Ausgaben von TOS-
- Programmen in ein Fenster umlenken:
-
- - Die POVShell von Dirk Klemmt (klemmt@informatik.uni-frankfurt.de) ab
- Version 1.3
- - Der alternative Desktop Thing von Arno Welzel (aw@zaphot.augusta.de)
- - Die Shell Easy-PGP von Manfred Ssykor (msy@lafp.tng.oche.de)
-
- Außerdem haben sich bereits weitere Interessenten gemeldet, die ihre
- Programme mit TOS2GEM-Unterstützung ausstatten wollen. Näheres kann ich
- dazu aber erst sagen, wenn es 100%ig feststeht.
-
- Bei der Gelegenheit nochmal ein öffentlicher Aufruf an alle, die sich
- bisher die Doku haben schicken lassen: Meldet Euch doch mal! Etwas mehr
- Feedback wäre mir sehr recht, damit ich weiß, ob und wenn ja was für
- Sachen Ihr mit TOS2GEM-Unterstützung programmiert.
-
-
- 11. Danksagungen
- ----------------
-
- Folgende Leute hatten, direkt oder indirekt, Anteil an der Entwicklung
- von TOS2GEM (alphabetische Reihenfolge):
-
- - Alexander Clauss
- - Joe Conner
- - Frank Danapfel
- - Dirk Klemmt
- - Harald Schönfeld
- - Thomas Schulze
- - Manfred Ssykor
- - Arno Welzel
-
-
- 12. Ausblick in die weitere Entwicklung von TOS2GEM
- ---------------------------------------------------
-
- Bislang gibt es Probleme, wenn man TOS2GEM und Gemini zusammen benutzt
- (nicht grundsätzlich, aber in bestimmten Situationen, siehe Hypertext).
- Dies zu umgehen wird das nächste Ziel sein.
-
- Wenn ich danach nichts besseres zu tun habe, werde ich vielleicht
- versuchen, TOS2GEM beizubringen, auch in teilweise verdeckten Bereichen
- auszugeben. Allerdings habe ich bisher keine Idee, wie ich das Ganze
- schnell *und* ohne kurze Phasen mit Zeichenfehlern machen soll.
-
- Ach ja, die Doku sollte ich vielleicht auch mal fertig schreiben...
-
-
- 13. History
- -----------
-
- In der History sind nur die Änderungen ab der letzten Pre-Release-Beta-
- Version von TOS2GEM enthalten, da es sonst etwas länglich würde...
-
- TOS2GEM vom 21.06.1995:
- - Neues Cookie-Element stats, in dem bei inaktiver Ausgabeumlenkung
- die Inhalte einiger internen Variablen abgelegt werden, wo sie dann
- später wieder ausgelesen werden (mehr dazu in der Doku)
-
- TOS2GEM-Beta vom 01.06.1995:
- - Beim Initialisieren des Textpuffers wurde vergessen, die Nullbytes
- für das Zeilenende zu setzen (die Sourcezeile ist wohl beim Einbau
- des Farbsupports verlorengegangen...)
-
- TOS2GEM-Beta vom 11.05.1995
- - Bösen Fehler unter MiNT entfernt: Durch eine Unachtsamkeit im Source
- wurde unter MiNT doch gepuffert, obwohl dort ja die Erkennung von
- Eingaben nicht klappt.
- - TOS2GEM kann jetzt auch zeitgesteuerte Ausgabepufferung, dabei
- erfolgt der Refresh im vorgegebenen Zeitintervallen. Erreicht wird
- dies durch negative Werte im Cookie-Element buffer_output.
- - Der Zeilenredraw im Farbmodus wurde auf die "flackerfreie" Methode
- umgestellt, die zwar etwas langsamer, dafür aber augenfreundlicher
- ist.
-
- TOS2GEM-Beta vom 07.04.1995
- - TOS2GEM kann jetzt auch die Farbsequenzen (wozu ich auch die zum
- Invertieren zähle)! Das neue Cookie-Element color bestimmt dabei die
- Art der Farbunterstützung (kompatibel oder VDI-konform). Näheres dazu
- in der .HYP-Doku, die ja jetzt freigegeben ist.
- - Unter SingleTOS benutzt TOS2GEM jetzt bei Ausgabepufferung zusätzlich
- bei Bconstat-Aufrufen einen Timer, der nach 500ms einen Refresh
- auslöst. Damit funktionieren auch TOS-Programme, die die Tastatur per
- Bconstat/Bconin abfragen, korrekt (z.B. SYSOK). Unter MagiC ist das
- nicht nötig, da hier sowieso bei jedem Bconstat-Aufruf der Puffer
- geleert wird.
-
- TOS2GEM vom 24.03.1995
- - Da mir in einem Bugreport berichtet wurde, daß der TOS2GEM-Cookie
- auch nach einem Reset noch vorhanden ist, klinkt sich TOS2GEM jetzt
- auch dann in den Reset-Vektor ein, um den Cookie-Pointer zu löschen,
- wenn es den Cookie-Jar nur erweitern mußte. Hoffentlich ist das
- Problem damit behoben (ich konnte es nicht nachvollziehen).
- - Bei aktiver Ausgabepufferung wird jetzt auch dann ein "Refresh"
- durchgeführt, wenn sich der Bildschirminhalt (intern) um seine
- vertikale Größe verschoben hat. Auf diese Weise werden keine Ausgaben
- mehr komplett verschluckt.
-
- TOS2GEM-Beta vom 02.02.1995
- - Jetzt klappt das Erkennen von Tastatur-Eingaben auch unter MagiC,
- also ist die Pufferung auch mit diesem Betriebssystem möglich. Leider
- geht es nicht mit MiNT/MultiTOS (hier wird man aber sowieso zugunsten
- von TOSWIN/MINIWIN auf TOS2GEM verzichten, was natürlich auch für
- VT52 unter MagiC gilt)
- - Die Pufferung konnte nochmals verbessert werden, so daß die Ausgabe
- etwas mehr als doppelt so schnell als ohne Pufferung erfolgt (das ist
- zum Teil schneller als die Standard-GEMDOS/BIOS-Ausgabe)
-
- TOS2GEM-Beta vom 31.01.1995(?)
- - Durch das neue Cookie-Element buffer_output kann eine Pufferung der
- Ausgabe erzielt werden, was einen deutlichen Geschwindigkeitsgewinn
- bringt. Leider klappt das nur mit SingleTOS, weil TOS2GEM nur dort
- korrekt Eingaben von der Tastatur erkennen kann (in diesem Fall muß
- ja der Puffer geleert werden, damit man sieht, was man überhaupt
- eingeben soll)
-
- TOS2GEM vom 19.01.1995
- - Mußte TOS2GEM den Cookie-Jar anlegen oder erweitern, ging dieser
- bei der ersten Aktivierung der Ausgabeumlenkung verloren, da er im
- gleichen Speicherbereich wie die VDI-Arrays lag.
-
- TOS2GEM vom 03.01.1995
- - Bei der Reaktivierung der Ausgabebumlenkung mittels switch_output
- wurde y_offset nicht korrekt angepaßt. Da dies ein nicht
- unerheblicher Fehler war, ist es ratsam, in Programmen, bei denen das
- TOS2GEM-Fenster in der Größe geändert werden kann, mindestens diese
- TOS2GEM-Version vorauszusetzen (Cookie-Element date beachten!)
- - TOS2GEM.PRG hat jetzt wieder das Speicherschutzflag "Global" (hatte
- ich das letzte Mal vergessen, weil der Pure C-Linker das ja leider
- nicht kann (zumindenst nicht der von PC 1.0))
- - Die Headerdatei wurde verbessert: Für das reserved-Feld des Cookies
- existiert jetzt die Konstante RESERVED_SIZE, die die Größe des Feldes
- angibt.
-
- TOS2GEM vom 12.12.1994:
- - Bei der Berechnung zweier interner Variablen war mir ein kleiner
- Fehler unterlaufen, der unter bestimmten Umständen zu fehlerhaftem
- Scrolling führte (wenn von einer Zeile nur die erste Pixelreihe
- sichtbar war)
- - TOS2GEM-Beispiel in's "große" Archiv aufgenommen, damit man sich auch
- ein Bild davon machen kann, welchen Zweck TOS2GEM überhaupt hat und
- wie es arbeitet. Daran hatte ich zuerst nicht gedacht (Dank an Dirk
- Klemmt, der mich auf dieses Versäumnis hingewiesen hat).
-
- TOS2GEM vom 22.11.1994:
- - Erste offizielle Version, leider noch ohne ST-Guide-Doku (ich wollte
- TOS2GEM halt auf der proTOS "releasen"...)
- - Unter MagiC wird jetzt das Problem umgangen, daß ein Aufruf von Fread
- für die Console den "echten" Cursor einschaltet und den von TOS2GEM
- völlig falsch plaziert. Die Lösung ist zwar unsauber (Schreibzugriff
- auf die negativen LineA-Variablen), allerdings habe ich keine andere
- verläßliche Methode gefunden.
- - TOS2GEM hat jetzt das Speicherschutz-Flag "Global", damit es in
- dieser Hinsicht keine Probleme mit MiNT/MultiTOS gibt.
-
-